package com.uyayo.oms.system.vo;

import org.hibernate.validator.constraints.NotEmpty;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;

public class SysOrganizationVO {
	
	@Pattern(regexp = "[a-zA-Z0-9]{1,36}", message = "{id.format.error}")
    private String id;

	/**
     * 编码
     */
	@NotNull(message = "{code.not.null.error}")
	@Size(min = 2, max = 36, message = "{code.size.error}")
    @Pattern(regexp = "[a-zA-Z0-9_]{1,36}", message = "{code.format.error}")
    private String code;

	/**
     * 名称
     */
	@NotEmpty(message = "{name.not.null.error}")
	private String name;

    /**
     * 上级id
     */
    private String parentId;

    /**
     * 机构地址
     */
    private String address;

    /**
     * 描述
     */
    private String description;

    /**
     * 状态（0：禁用，1：启用）
     */
    private Integer status;
    
    /**
     * 参数类型
     */
    private Integer type;
    
    /**
     * 排序
     */
    private Integer seq;
    
    /**
     * 备注
     */
    private String remark;
    
    
    /**
     * 获取主键id
     *
     * @return id - 主键id
     */
    public String getId() {
        return id;
    }

    /**
     * 设置主键id
     *
     * @param id 主键id
     */
    public void setId(String id) {
        this.id = id == null ? null : id.trim();
    }

    
    /**
     * 获取参数编码
     *
     * @return code - 参数编码
     */
    public String getCode() {
        return code;
    }

    /**
     * 设置参数编码
     *
     * @param code 参数编码
     */
    public void setCode(String code) {
        this.code = code == null ? null : code.trim();
    }
    
    /**
     * 获取名称
     *
     * @return name - 名称
     */
    public String getName() {
        return name;
    }

    /**
     * 设置名称
     *
     * @param name 名称
     */
    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }


    /**
     * 获取上级id
     *
     * @return parent_id - 上级id
     */
    public String getParentId() {
        return parentId;
    }

    /**
     * 设置上级id
     *
     * @param parentId 上级id
     */
    public void setParentId(String parentId) {
        this.parentId = parentId == null ? null : parentId.trim();
    }


    /**
     * 获取机构地址
     *
     * @return 机构地址 - 机构地址
     */
    public String getAddress() {
        return address;
    }

    /**
     * 设置权限
     *
     * @param address 权限
     */
    public void setAddress(String address) {
        this.address = address == null ? null : address.trim();
    }

    /**
     * 获取状态（0：禁用，1：启用）
     *
     * @return status - 状态（0：禁用，1：启用）
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * 设置状态（0：禁用，1：启用）
     *
     * @param status 状态（0：禁用，1：启用）
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    /**
     * 获取参数类型
     *
     * @return type - 参数类型
     */
    public Integer getType() {
        return type;
    }

    /**
     * 设置参数类型
     *
     * @param type 参数类型
     */
    public void setType(Integer type) {
        this.type = type;
    }
    
    /**
     * 获取描述
     *
     * @return description - 描述
     */
    public String getDescription() {
        return description;
    }

    /**
     * 设置描述
     *
     * @param description 描述
     */
    public void setDescription(String description) {
        this.description = description == null ? null : description.trim();
    }

    /**
     * 获取排序
     *
     * @return seq - 排序
     */
    public Integer getSeq() {
        return seq;
    }

    /**
     * 设置排序
     *
     * @param seq 排序
     */
    public void setSeq(Integer seq) {
        this.seq = seq;
    }

    /**
     * 获取备注
     *
     * @return remark - 备注
     */
    public String getRemark() {
        return remark;
    }

    /**
     * 设置备注
     *
     * @param remark 备注
     */
    public void setRemark(String remark) {
        this.remark = remark == null ? null : remark.trim();
    }
}
